package com.cy.study.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cy.study.common.BasePageReq;
import com.cy.study.entity.UserInfoEntity;
import com.cy.study.req.*;
import com.cy.study.res.UserCenterExperiencePageRes;
import com.cy.study.res.UserDetailRes;
import com.cy.study.res.UserPageRes;
import org.springframework.web.multipart.MultipartFile;

public interface UserInfoService extends IService<UserInfoEntity> {

    /**
     * 用户注册返回id
     * @param req
     * @return
     */
    Integer userRegister(UserRegisterReq req);

    /**
     * 用户上传头像
     * @param file
     * @param userId
     */
    void uploadPic(MultipartFile file, Integer userId,Boolean isUpdate);

    /**
     * 用户登录
     * @param req
     * @return
     */
    String userLogin(UserLoginReq req);

    /**
     * 用户列表
     * @param req
     * @return
     */
    Page<UserPageRes> userPage(UserPageReq req);

    /**
     * 切换用户状态
     * @param req
     */
    void changeStatus(UserStatusChangeReq req);


    /**
     * 获取用户详细信息
     * @param userId
     * @return
     */
    UserDetailRes userDetail(Integer userId);

    /**
     * 用户修改用户信息
     * @param req
     */
    void updateInfo(UserUpdateInfoReq req);

    /**
     * 用户修改密码
     * @param req
     */
    void updatePassword(UserUpdatePasswordReq req);
}
